// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"

#include "AbilitySystemInterface.h"
#include "BoukenAbilitySystemComponent.h"
#include "AttributeSets/BoukenAttributeSet.h"
#include "GameFramework/PlayerState.h"
#include "PlayerStateBase.generated.h"

UCLASS()
class BOUKEN_API APlayerStateBase : public APlayerState, public IAbilitySystemInterface
{
	GENERATED_BODY()

public:
	APlayerStateBase();

	UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category = "Ability System")
	UBoukenAbilitySystemComponent* AbilitySystemComponent;

	UPROPERTY(BlueprintReadOnly, Category = "Ability System")
	UBoukenAttributeSet* Attributes;

	virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override;
};
